package com.genericity.demo09;

import java.lang.reflect.Method;

public class Test {
    public static void main(String[] args) {
        System.out.println("泛型接口的桥接方法");

        // 利用反射 获取Class对象
        Class<InfoImpl> infoClass = InfoImpl.class;
        // 获取所有方法
        Method[] declaredMethods = infoClass.getDeclaredMethods();
        // 打印所有方法
        for (Method declaredMethod : declaredMethods) {
            // 打印方法名称和返回的数据类型
            System.out.println(declaredMethod.getName() + "："+declaredMethod.getReturnType().getSimpleName());
            /**
             * 我们的实现类只定义了一个info方法，但是返回了两个
             * 一个返回值是 Integer 我们指定的实现类数据类型
             * 一个是 桥接方法，保持接口和类的实现关系方法
             * info：Integer
             * info：Object
             */
        }
    }
}
